home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
mintprgs
/
mintupgr
/
disk7.zoo
/
elvis.zoo
/
usr
/
doc
/
elvis
/
termcap.doc
< prev
next >
Wrap
Text File
|
1992-08-12
|
6KB
|
199 lines
_1_0. _T_E_R_M_C_A_P
Elvis uses fairly standard termcap fields for most
things. I invented the cursor shape names but other than
that there should be few surprises.
_R_e_q_u_i_r_e_d _n_u_m_e_r_i_c _f_i_e_l_d_s
:co#: number of columns on the screen (chars per line)
:li#: number of lines on the screen
_R_e_q_u_i_r_e_d _s_t_r_i_n_g _f_i_e_l_d_s
:ce=: clear to end-of-line
:cl=: home the cursor & clear the screen
:cm=: move the cursor to a given row/column
:up=: move the cursor up one line
_B_o_o_l_e_a_n _f_i_e_l_d_s
:am: auto margins - wrap when char is written in last column?
:xn: brain-damaged auto margins - newline ignored after wrap
:pt: physical tabs?
_O_p_t_i_o_n_a_l _s_t_r_i_n_g _f_i_e_l_d_s
:al=: insert a blank row on the screen
:dl=: delete a row from the screen
:cd=: clear to end of display
:ei=: end insert mode
:ic=: insert a blank character
:im=: start insert mode
:dc=: delete a character
:sr=: scroll reverse (insert row at top of screen)
:vb=: visible bell
:ti=: terminal initialization string, to start full-screen mode
:te=: terminal termination, to end full-screen mode
:ks=: enables the cursor keypad
:ke=: disables the cursor keypad
_O_p_t_i_o_n_a_l _s_t_r_i_n_g_s _r_e_c_e_i_v_e_d _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d
:kd=: sequence sent by the <down arrow> key
:kl=: sequence sent by the <left arrow> key
:kr=: sequence sent by the <right arrow> key
:ku=: sequence sent by the <up arrow> key
:kP=: sequence sent by the <PgUp> key
:kN=: sequence sent by the <PgDn> key
:kh=: sequence sent by the <Home> key
:kH=: sequence sent by the <End> key
August 10, 1992
10-2 TERMCAP 10-2
:kI=: sequence sent by the <Insert> key
Originally, termcap didn't have any names for the
<PgUp>, <PgDn>, <Home>, and <End> keys. Although the capa-
bility names shown in the table above are the most common,
they are _n_o_t universal. SCO Xenix uses :PU=:PD=:HM=:EN=:
for those keys. Also, if the four arrow keys happen to be
part of a 3x3 keypad, then the five non-arrow keys may be
named :K1=: through :K5=:, so an IBM PC keyboard may be
described using those names instead. Elvis can find any of
these names.
_O_p_t_i_o_n_a_l _s_t_r_i_n_g_s _s_e_n_t _b_y _f_u_n_c_t_i_o_n _k_e_y_s
:k1=:...:k9=:k0=: codes sent by <F1> through <F10> keys
:s1=:...:s9=:s0=: codes sent by <Shift F1> ... <Shift F10>
:c1=:...:c9=:c0=: codes sent by <Ctrl F1> ... <Ctrl F10>
:a1=:...:a9=:a0=: codes sent by <Alt F1> ... <Alt F10>
Note that :k0=: is used to describe the <F10> key.
Some termcap documents recommend :ka=: or even :k;=: for
describing the <F10> key, but Elvis doesn't support that.
Also, the :s1=:..., :c1=:..., and :a1=:... codes are
very non-standard. The terminfo library doesn't support
them.
_O_p_t_i_o_n_a_l _f_i_e_l_d_s _t_h_a_t _d_e_s_c_r_i_b_e _c_h_a_r_a_c_t_e_r _a_t_t_r_i_b_u_t_e_s
:so=:se=: start/end standout mode (We don't care about :sg#:)
:us=:ue=: start/end underlined mode
:md=:me=: start/end boldface mode
:as=:ae=: start/end alternate character set (italics)
:ug#: visible gap left by :us=:ue=:md=:me=:as=:ae=:
_O_p_t_i_o_n_a_l _f_i_e_l_d_s _t_h_a_t _a_f_f_e_c_t _t_h_e _c_u_r_s_o_r'_s _s_h_a_p_e
The :cQ=: string is used by Elvis immediately before
exiting to undo the effects of the other cursor shape
strings. If :cQ=: is not given, then all other cursor shape
strings are ignored.
:cQ=: normal cursor
:cX=: cursor used for reading EX command
:cV=: cursor used for reading VI commands
:cI=: cursor used during VI input mode
:cR=: cursor used during VI replace mode
If the capabilities above aren't given, then Elvis will
try to use the following values instead.
August 10, 1992
10-3 TERMCAP 10-3
:ve=: normal cursor, used as :cQ=:cX=:cI=:cR=:
:vs=: gaudy cursor, used as :cV=:
_A_n _e_x_a_m_p_l_e
Here's the termcap entry I use on my Minix-ST system.
Some of the fields in it have nothing to do with Elvis.
Some can only work on my system; I have modified my kernel's
screen driver.
mx|minix|minixst|ansi:\
:is=\E[0~:co#80:li#25:bs:pt:\
:cm=\E[%i%d;%dH:up=\E[A:do=^J:nd=\E[C:sr=\EM:\
:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
:al=\E[L:dl=\E[M:ic=\E[@:dc=\E[P:im=:ei=:\
:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
:md=\E[1m:me=\E[m:as=\E[1;3m:ae=\E[m:\
:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:\
:k1=\E[1~:k2=\E[2~:k3=\E[3~:k4=\E[4~:k5=\E[5~:\
:k6=\E[6~:k7=\E[17~:k8=\E[18~:k9=\E[19~:k0=\E[20~:\
:kU=\E[36~:kQ=\E[32~:kH=\E[28~:\
:GV=3:GH=D:G1=?:G2=Z:G3=@:G4=Y:GC=E:GL=4:GR=C:GU=A:GD=B:\
:cQ=\E[k:cX=\E[2;0k:cV=\E[16;0k:cI=\E[k:cR=\E[16;20k:
August 10, 1992